package com.gopay.common.rcs.manager.translimit;

import java.math.BigDecimal;

import com.gopay.common.constants.rcs.TranDirection;
import com.gopay.common.constants.txncd.IntTxnCd;
import com.gopay.common.domain.acps.AcctProd;
import com.gopay.common.domain.rcs.RcsGAcctLimitStatistics;
import com.gopay.common.domain.rcs.req.RcsTransLimitRequest.RequestType;


/**
 * 额度管理manager层
 * @RcsGAcctLimitStatisticsManager.java
 * @author liujy
 * @2013-7-23 下午6:34:46  www.gopay.com.cn Inc.All rights reserved.
 */
public interface RcsGAcctLimitStatisticsManager{
    
    RcsGAcctLimitStatistics getTransLimitStatistics(String custId, AcctProd acctProd, IntTxnCd intTxnCd,
            TranDirection tranDirection, String tranDate);
    
    /**
     * 查询客户特定账户产品当日累计交易信息
     * @param custId 客户号
     * @param acctProd 账户产品
     * @param intTxnCd 交易码
     * @param tranDirection 交易方向
     * @param tranDate 交易日期
     * @return
     */
    RcsGAcctLimitStatistics findTransLimitStatistics(String custId, AcctProd acctProd, IntTxnCd intTxnCd,
            TranDirection tranDirection, String tranDate);
    
    RcsGAcctLimitStatistics saveOrUpdateTransLimitStatistics(String custId, AcctProd acctProd, IntTxnCd intTxnCd,
            TranDirection tranDirection, String tranDate, BigDecimal tranAmt, RequestType updateType);
}
